package wm.pt.service;

import java.util.List;
import java.util.Set;

import wm.model.*;

public interface IPtDAOService {
	public Set<Cliente> getClientes();
	public void addCliente(Cliente cli);
	public void setCliente(int codigo, Cliente cli);
	public void removeCliente(int codigo);
	public boolean clienteExistente(int codigo);
	public List<Cliente> getClientesOrderedByCodigoAsc();
	
	public Set<Producto> getProductos();
	public void addProducto(Producto pro);
	public void setProducto(int codigo, Producto pro);
	public void removeProducto(int codigo);
	public boolean productoExistente(int codigo);
	public List<Producto> getProductosOrderedByCodigoAsc();
	
	public Set<Unidad> getUnidades();
	public List<Unidad> getUnidadesOrderedByCodigoAsc();
	public List<Unidad> getUnidadesOrderedByFechaCaducidadAsc();
	
	public Set<Compra> getCompras();
	public List<Compra> getComprasOrderedByCodigoAsc();
	
	public Set<Historico> getHistoricos();
	public List<Historico> getHistoricosPorProducto(int codigoProducto);
	public List<Historico> getHistoricosOrderedByFechaAsc();
	public List<Historico> getHistoricosOrderedByFechaAsc(int codigoProducto);
	
	public Set<Prevision> getPrevisiones();
	public void addPrevision(Prevision pre);
	public boolean previsionExistente(int codigo);
	public List<Prevision> getPrevisionesOrderedByCodigoAsc();
	public List<Prevision> getPrevisionesOrderedByFechaAsc(int codigoProducto);
	
	public Set<Calendario> getCalendarios();
	public void addCalendario(Calendario cal);
	public void setCalendario(int mes, int dia, String tipo);
	public void removeCalendario(int mes, int dia);
	public boolean calendarioExistente(int mes, int dia);
	public List<Calendario> getCalendariosOrderedByDiayMesAsc();
	public String colorUnidadesProximasACaducar();
}
